from Poisson.autoencoder import AnalyticAutoEncoder
from IPython.display import Video
aae = AnalyticAutoEncoder(epochs=60, lr=0.001)
aae.train(verbose=0, seed=23)
aae.plot_solution_fit()
aae.plot_theta_fit(sigma=1.0)
aae.plot_solution_fit(sigma=1.0)
num_boots = 100
aae.bootstrap(num_boots, train_sigma=0, test_sigma=1.0)
aae.plot_theta_boot()
aae.plot_solution_boot()
aae2 = AnalyticAutoEncoder(epochs=25, lr=0.001)
aae2.bootstrap(num_boots, train_sigma=1.0, test_sigma=0)
# test on noisy data
aae2.plot_theta_boot()
# test on noisy data
aae2.plot_solution_boot()
aae3 = AnalyticAutoEncoder(epochs=25, lr=0.001)
aae3.bootstrap(num_boots, train_sigma=1.0, test_sigma=1.0)
aae3.plot_theta_boot()
aae3.plot_solution_boot()
aae.plot_solution_boot()
aae2.plot_solution_boot()
aae3.plot_solution_boot()